import axios from 'axios';

//实例化一个axios对象
const http = axios.create({
    baseURL:'/api',
    timeout:3000
});

    http.interceptors.request.use(function (config) { // 正常
        // Do something before request is sent
        // 比如：显示 loading
        return config;
    }, function (error) { // 错误
        // Do something with request error
        return Promise.reject(error);
    });
    http.interceptors.response.use(function (response) { // 正常响应 200 一类的
        // 比如：取消 loading
        return response;
    }, function (error) { // 响应失败
        // 比如：取消 loading
        // 再比如：没有权限则返回登录页
        // Do something with response error
        return Promise.reject(error);
    });

  





// // 拦截请求，给所有的请求都带上 token
// http.interceptors.request.use(
//     config => {
//       const token = localStorage.getItem('token');
//       if (token) {
//         // 设置 token ，一般是在 headers 里加入 Authorization，并加上 Bearer 标注
//         // 最好通过此种形式设置 request.headers['Authorization']
//         config.headers['Authorization'] = 'Bearer ' + token;
//       }
//       return config;
//     },
//     error => {
//       console.log(error);
//       return Promise.reject(error);
//   });
  
// //   拦截响应，遇到 token 不合法则报错
//   http.interceptors.response.use(
//     response => {
//       if (response.data.token) {
//         localStorage.setItem('token', response.data.token);
//       }
//       return response;
//     },
//     error => {
//       if (error.response.code === 401) {
//         // 401 说明 token 验证失败
//         // 可以直接跳转到登录页面，重新登录获取 token
//         localStorage.removeItem('token');
//         console.log(error.response.data.error.message);
//         history.replace('/login');
//       } else if(error.response.code === 500) {
//         // 服务器错误
//         return Promise.reject('服务器出错：',error.response.data);
//       }
//       return Promise.reject(error.response);   // 返回接口返回的错误信息
//     });




export default http;

